In U.S. patent application Ser. No. 105,401 an apparatus was described for correcting errors using a Reed-Solomon decoder. In an n,k code, n is the number of symbols in a code word and K is the number of data symbols. For a Reed-Solomon code, 2t=n-k. In U.S. patent application Ser. No. 105,401 t errors could be corrected. For a Reed-Solomon code with a specified n and k, any error condition which satisfies 2t.ltoreq.E+2V where E=the number of erasures and V=the number of errors which are not erasures is correctable. The apparatus disclosed in that patent solved for the error-location polynomial, .LAMBDA.(x), and the error-magnitude polynomial .OMEGA.(x) using Euclid's recursive algorithm: EQU .OMEGA..sup.(i) (x)=-q.sup.(i) (x).OMEGA..sup.(i-1) (x)+.OMEGA..sup.(i-2) (x) [1] EQU .LAMBDA..sup.(i) (x)=-q.sup.(i) (x).LAMBDA..sup.(i-1) (x)+.LAMBDA..sup.(i-2) (x) [2]
The initial conditions for that apparatus were EQU .LAMBDA..sup.(-1) (x)=0 [3] EQU .LAMBDA..sup.(0) (x)=1 [4] EQU .OMEGA..sup.(-1) (x)=x.sup.2t [ 5] EQU .OMEGA..sup.(0) (x)=S(x) [6]
Because of these initial conditions the apparatus is incapable of correcting any erasure errors. By changing those initial conditions to EQU .LAMBDA..sup.(-1) (x)=0 [7] EQU .LAMBDA..sup.(0) (x)=.GAMMA.(x) [8] EQU .OMEGA..sup.(-1) (x)=x.sup.2t [ 9] EQU .OMEGA..sup.(0) (x)=T(x) [10]
twice as many erasure errors can be corrected. Where .GAMMA.(x)=the erasure polynomial and T(x)=a modified syndrome polynomial.
The Reed-Solomon decoder in our previous patent, shown in FIG. 1, included a Euclid divide stack 34 and a Euclid multiply stack 35. These two distinct hardware stacks require separate hardware with separate functions. In a semiconductor solution for a Reed-Solomon decoder this extra hardware requires a larger die size which causes a lower manufacturing yield thereby increasing the cost of each circuit.
What is needed is a Reed-Solomon decoder utilizing Euclid's equation having initial conditions for .LAMBDA..sup.(0) of .GAMMA.(x) and for .OMEGA..sup.(0) (x)=T(x). This will double amount of erasure errors which can be corrected. Further, this Reed-Solomon decoder could have only one Euclid stack rather than a separate Euclid divide stack and Euclid multiply stack.